/*
 * =====================================================================================
 *
 *        Copyright 2019 YiDao Inc.
 *        License ()
 *        Author:  XXXXXXX (), liushuyong@yidao.com
 *        Filename:  ICarBuilder.h
 *        Description:
 *        Created:  10/13/21 20:59:31
 *        Version:  1.0
 *        Company:  YiDao
 *
 * =====================================================================================
 */
#ifndef ICarBuilder_H_

#define ICarBuilder_H_

#include "IWheel.h"
#include "IMotor.h"
//#include "ICar.h"
#include "IBody.h"

class ICar;

class ICarBuilder {
  public:
    ICarBuilder();
    virtual ~ ICarBuilder();

    ICarBuilder& setMotor(IMotor*& motor);
	ICarBuilder& setWheel(IWheel*& wheel);
    ICarBuilder& setBody(IBody*& body);
    ICar* build();

  private:
	ICar* mpCar;
};

#endif
